#ifndef AFGRAPHICS_H
#define AFGRAPHICS_H

#include "dpLibrary\graphics.h"
#include "AFObjectFactory.h"

// Color definitions:
#define RED      0xFF0000
#define GREEN    0x00FF00
#define BLUE     0x0000FF
#define ORANGE   0xFF9900
#define YELLOW   0xFFFF00
#define PURPLE   0xFF00FF
#define BLACK    0x000000
#define WHITE    0xFFFFFF
#define GREY     0x666666

// Screen coordinate definitions:
#define MAX_WORLD_HEIGHT  500000
#define MAX_WORLD_WIDTH   500000
#define CENTER_OF_SCREEN_X   (dpScreenWidth  / 2)
#define CENTER_OF_SCREEN_Y   (dpScreenHeight / 2)

//// Graphics component structure:
//struct Graphics_t
//{
//
//};

//typedef struct Graphics_t Graphics;

// Initialization functions:
dpPixel* AFInitializeGraphics();

// Drawing functions:
void CheckeredPattern();
void ClearBuffer();
void DrawCenterGuideLine();
void DrawObject(int color, int x, int y, int h, int w);
void DrawSprite(Sprite* currentSprite);
void FireUpward(Sprite* character);

// Graphics update functions:
void UpdateGraphics(Sprite* playerSprite, Sprite* currentSprite);

// Conversion functions:

// FUNCTIONS NOT WORKING AS INTENDED:
void FireBullet();
void MoveCamera(Sprite* currentSprite);
void PrintRandomSprites();

#endif